iommu: Fix pirq conflict issue when guest adopts per-cpu vector.
authorKeir Fraser <keir.fraser@citrix.com>
Fri, 18 Sep 2009 07:46:32 +0000 (08:46 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Fri, 18 Sep 2009 07:46:32 +0000 (08:46 +0100)
commitd75c52c50c4b8ac03aca431f366ebe0b2f493dbe
tree0cae8642f37c1c54d9191bb9381cc6ae2d0fa005
parent41c06ea3f57221d4c99fd7226dfba01f0156a866
iommu: Fix pirq conflict issue when guest adopts per-cpu vector.

Latest Linux and Windows may adopt per-cpu vector instead of global
vector, so same vector in different vcpu may correspond to different
interrupt sources. That is to say, vector and pirq should be 1:n
mapping, and the array msi_gvec_pirq can't meet the mapping
requirement, so need to improve the related logic, otherwise it may
introduce strange issues.

Signed-off-by: Xiantao Zhang <xiantao.zhang@intel.com>
xen/arch/x86/hvm/vmsi.c
xen/drivers/passthrough/io.c
xen/include/asm-x86/hvm/vlapic.h
xen/include/xen/hvm/irq.h